<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <button class="btn">匿名函数的执行</button>
   
    <script>
    
    // for(var i=0;i<10;i++){
    //     console.log(i);
    // }
    //  console.log(i);
    //表达式执行
//     var fn=function(){
//         console.log("Hello");
//     };
//     fn();

//     //立即执行
//     (function(){
//         console.log("test");
//     })();

//     //匿名的使用方法
//     document.getElementsByClassName('btn')[0].onclick
//     =function(){
//         console.log("事件执行匿名函数");
//     }
//     document.getElementsByClassName('btn')[0].onclick;//促发点击事件


//    //add方法的三种表达
//     //一
//     function add(a,b){   
//        console.log(a+b);
//     }
//             add(2,3);

//     //二
//     var add=function(a,b){
//         console.log(a+b);
//     };
//             add(2,6);

//     //三
//     (function(a,b){
//         console.log(a+b);
//     })(1,2);

//    //箭头函数


//   var fn2 = (a,b)=>{console.log(a+b);};//只有一条语句花括号可以省略
//   fn2(2,8);


//    var fn1=x=>x+2;
//    console.log(fn1(4));

//    function fn(a){
//        console.log(a+2);
//    }
//   fn(5);


//   var fn3=(x,y)=>x+y;
//   console.log(fn3(1,2));

//   function fn4(x,y){
//   console.log(x+y);
//    }
//     fn4(7,8);
  

  //回调函数
//  function A(){
//      console.log("A被调用");
//  }

//   function B(fn){
//       if(Math.random()>0.5){
//             fn();
//       }
     
//   }
//      B(A);
     

     //    var fn1=x=>x+2;
//    console.log(fn1(4));

    //  var newArr=[1,2,3,4,5,6,7,8,9].filter(
    //      function(number){
    //          if(number==2){
    //              return false;
    //          }else{
    //              return true;
    //          }
    //      }
    //  );


//     var newArr=[1,2,3,4,5,6,7,8,9].filter(
//          fn=number=>{if(number==2){
//       return false
//       }else{
//           return true;
//       }
//     }

// );


// //数组的拷贝 map
//  arr=[1,any,4,5];
//  arr2=arr;
//  arr2[1]=0;
//  arr3=arr.map(number=>number);
//  arr3[2]=0;


//作用域链
// var i=0;
// function A(){
//     function B(){
//         console.log(i);
        
//     }
//     B();
// }
// A();
  

  //递归函数
  function fn(n){
      if(n>1){
             return n*fn(n-1);
      }else{
          return 1;
      }
     
  }


    </script>
</body>
</html>